package cn.deluxelx.im.dao;

import cn.deluxelx.im.pojo.Message;
import com.mongodb.client.result.UpdateResult;
import org.bson.types.ObjectId;

import java.util.List;

public interface MessageDAO {

    /**
     * 查询点对点聊天记录
     *
     * @param fromId 发送人ID
     * @param toId   收到人ID
     * @param page   页面
     * @param rows   消息条数
     * @return 消息列表
     */
    List<Message> findListByFromAndTo(Long fromId, Long toId, Integer page, Integer rows);

    /**
     * 根据id查询数据
     *
     * @param id 消息id
     * @return 消息
     */
    Message findMessageById(String id);

    /**
     * 更新消息状态
     *
     * @param id object_id
     * @param status 状态
     * @return 更新结果
     */
    UpdateResult updateMessageState(ObjectId id, Integer status);

    /**
     * 新增消息数据
     *
     * @param message 消息
     * @return 消息
     */
    Message saveMessage(Message message);

}
